#include <iostream>  //C++的标准输入输出流头文件
using namespace std; //照抄，明天就能知道

/*
	C语言没有函数重载
	C++新增了函数重载
*/
int add(int a,int b)
{
	cout<<"版本1"<<endl;
	return a+b;
}

double add(double a,double b)
{
	cout<<"版本2"<<endl;
	return a+b;
}

int main()  //主函数写法跟C语言一模一样
{
	int n1=78;
	int n2=45;
	double n3=45.6;
	double n4=45.8;
	
	//两个函数名字都一样，如何区分呢？
	//答案(函数重载的底层原理)：编译器会根据你调用函数的时候传递的参数类型和个数来自动匹配合适版本的add
	//     自适应
	//add(n1,n2); //自动匹配 add(int,int)
	//add(n3,n4); //自动匹配 add(double,double)
	
	add(n1,n3);  //自动匹配 add(int,double)
	add(n1,n1,n2);  //自动匹配 add(int,int,int)
	
	return 0;
}


